﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using UAXInversionesWeb.logicaNegocio;

namespace UAXInversionesWeb.cliente
{
    public partial class ModificarDatos : System.Web.UI.Page
    {
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            if (HttpContext.Current.Session["identificador"] != null)
            {
                cargarDatosCliente();
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void cargarDatosCliente()
        {
            Cliente c = Proxy.consultarDatosCliente((int)HttpContext.Current.Session["identificador"]);

            labelIdCliente.Text = c.getIdCliente().ToString();
            LabelNombre.Text = c.getNombre();
            LabelApellidos.Text = c.getApellidos();
            LabelDNI.Text = c.getDNI();
            LabelSexo.Text = c.getSexo().ToString();
            LabelFechaNacimiento.Text = c.getFechaNacimiento().ToShortDateString();
            fijo.Text = c.getTelefonoFijo().ToString();
            movil.Text = c.getTelefonoMovil().ToString();
            fax.Text = c.getFax().ToString();
            LabelCorreo.Text = c.getCorreoElectronico();
            LabelNombreDeBanco.Text = c.getDatosBancarios().getNombreBanco();
            LabelDireccionOficina.Text = c.getDatosBancarios().getDireccionOficina();
            tipoCalle.Text = c.getDireccion().getTipoCalle();
            direccion.Text = c.getDireccion().getNombreCalle();
            numeroCalle.Text = c.getDireccion().getNumeroCalle().ToString();
            piso.Text = c.getDireccion().getPiso().ToString();
            letra.Text = c.getDireccion().getLetra().ToString();
            escalera.Text = c.getDireccion().getEscalera();
            localidad.Text = c.getDireccion().getLocalidad();
            provincia.Text = c.getDireccion().getProvincia();
            CP.Text = c.getDireccion().getCP().ToString();
            pais.Text = c.getDireccion().getPais();
            LabelNumeroDeCuenta.Text = c.getDatosBancarios().getNumeroDeCuenta().ToString("####-####-##-##########");
            LabelSaldo.Text = c.getSaldo().ToString();
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            Cliente m = new Cliente();
            m.setIdCliente(Int32.Parse(labelIdCliente.Text));
            m.setDNI(LabelDNI.Text);
            m.setNombre(LabelNombre.Text);
            m.setApellidos(LabelApellidos.Text);
            m.setFechaNacimiento(DateTime.Parse(LabelFechaNacimiento.Text));
            m.setSexo(LabelSexo.Text.ToCharArray()[0]);
            m.setTelefonoFijo(Int64.Parse(fijo.Text));
            m.setTelefonoMovil(Int64.Parse(movil.Text));
            m.setFax(Int64.Parse(fax.Text));
            m.setCorreoElectronico(LabelCorreo.Text);
            Direccion d = new Direccion();
            d.setTipoCalle(tipoCalle.Text);
            d.setNombreCalle(direccion.Text);
            d.setNumeroCalle(Int32.Parse(numeroCalle.Text));
            d.setPiso(Int32.Parse(piso.Text));
            d.setLetra(letra.Text.ToCharArray()[0]);
            d.setEscalera(escalera.Text);
            d.setLocalidad(localidad.Text);
            d.setProvincia(provincia.Text);
            d.setCP(Int32.Parse(CP.Text));
            d.setPais(pais.Text);
            DatosBancarios db = new DatosBancarios();
            db.setNombreBanco(LabelNombreDeBanco.Text);
            db.setNumeroDeCuenta(Decimal.Parse(LabelNumeroDeCuenta.Text.Replace("-","")));
            db.setDireccionOficina(LabelDireccionOficina.Text);
            m.setSaldo(Int32.Parse(LabelSaldo.Text));
            m.setDireccion(d);
            m.setDatosBancarios(db);

            bool x = Proxy.modificarCliente(m);

            if (x)
            {
                Response.Write("<script>alert('Datos modificados para el cliente " + LabelNombre.Text + " ')</script>");
            }
        }

        protected void TextBox1_TextChanged(object sender, EventArgs e)
        {

        }

        protected void reset_Click(object sender, EventArgs e)
        {
            cargarDatosCliente();
        }
    }
}
